home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / Power.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  28.5 KB  |  1,124 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Power.a
  3. ;
  4. ;    Contains:    Power Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1990-1997 by Apple Computer, Inc.  All rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__POWER__') = 'UNDEFINED' THEN
  19. __POWER__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.  
  28.  
  29.                                                             ; Bit positions for ModemByte 
  30. modemOnBit                        EQU        0
  31. ringWakeUpBit                    EQU        2
  32. modemInstalledBit                EQU        3
  33. ringDetectBit                    EQU        4
  34. modemOnHookBit                    EQU        5
  35.  
  36.                                                             ; masks for ModemByte 
  37. modemOnMask                        EQU        $01
  38. ringWakeUpMask                    EQU        $04
  39. modemInstalledMask                EQU        $08
  40. ringDetectMask                    EQU        $10
  41. modemOnHookMask                    EQU        $20
  42.  
  43.                                                             ; bit positions for BatteryByte 
  44. chargerConnBit                    EQU        0
  45. hiChargeBit                        EQU        1
  46. chargeOverFlowBit                EQU        2
  47. batteryDeadBit                    EQU        3
  48. batteryLowBit                    EQU        4
  49. connChangedBit                    EQU        5
  50.  
  51.                                                             ; masks for BatteryByte 
  52. chargerConnMask                    EQU        $01
  53. hiChargeMask                    EQU        $02
  54. chargeOverFlowMask                EQU        $04
  55. batteryDeadMask                    EQU        $08
  56. batteryLowMask                    EQU        $10
  57. connChangedMask                    EQU        $20
  58.  
  59.                                                             ; bit positions for SoundMixerByte 
  60. MediaBaySndEnBit                EQU        0
  61. PCISndEnBit                        EQU        1
  62. ZVSndEnBit                        EQU        2
  63. PCCardSndEnBit                    EQU        3
  64.  
  65.                                                             ; masks for SoundMixerByte 
  66. MediaBaySndEnMask                EQU        $01
  67. PCISndEnMask                    EQU        $02
  68. ZVSndEnMask                        EQU        $04
  69. PCCardSndEnMask                    EQU        $08
  70.  
  71.                                                             ; commands to SleepQRec sleepQProc 
  72. sleepRequest                    EQU        1
  73. sleepDemand                        EQU        2
  74. sleepWakeUp                        EQU        3
  75. sleepRevoke                        EQU        4
  76. sleepUnlock                        EQU        4
  77. sleepDeny                        EQU        5
  78. sleepNow                        EQU        6
  79. dozeDemand                        EQU        7
  80. dozeWakeUp                        EQU        8
  81. dozeRequest                        EQU        9
  82.  
  83.                                                             ; SleepQRec.sleepQFlags 
  84. noCalls                            EQU        1
  85. noRequest                        EQU        2
  86. slpQType                        EQU        16
  87. sleepQType                        EQU        16
  88. ;  bits in bitfield returned by PMFeatures 
  89.  
  90. hasWakeupTimer                    EQU        0                    ; 1=wakeup timer is supported                                
  91. hasSharedModemPort                EQU        1                    ; 1=modem port shared by SCC and internal modem            
  92. hasProcessorCycling                EQU        2                    ; 1=processor cycling is supported                            
  93. mustProcessorCycle                EQU        3                    ; 1=processor cycling should not be turned off                
  94. hasReducedSpeed                    EQU        4                    ; 1=processor can be started up at reduced speed            
  95. dynamicSpeedChange                EQU        5                    ; 1=processor speed can be switched dynamically            
  96. hasSCSIDiskMode                    EQU        6                    ; 1=SCSI Disk Mode is supported                            
  97. canGetBatteryTime                EQU        7                    ; 1=battery time can be calculated                            
  98. canWakeupOnRing                    EQU        8                    ; 1=can wakeup when the modem detects a ring                
  99. hasDimmingSupport                EQU        9                    ; 1=has dimming support built in (DPMS standby by default)    
  100. hasStartupTimer                    EQU        10                    ; 1=startup timer is supported                                
  101. hasChargeNotification            EQU        11                    ; 1=client can determine of charge connect status change notifications available 
  102. hasDimSuspendSupport            EQU        12                    ; 1=supports dimming LCD and CRT to DPMS suspend state        
  103. ;  bits in bitfield returned by GetIntModemInfo and set by SetIntModemState 
  104.  
  105. hasInternalModem                EQU        0                    ; 1=internal modem installed                        
  106. intModemRingDetect                EQU        1                    ; 1=internal modem has detected a ring                
  107. intModemOffHook                    EQU        2                    ; 1=internal modem is off hook                        
  108. intModemRingWakeEnb                EQU        3                    ; 1=wakeup on ring is enabled                        
  109. extModemSelected                EQU        4                    ; 1=external modem selected                        
  110. modemSetBit                        EQU        15                    ; 1=set bit, 0=clear bit (SetIntModemState)        
  111. ;  bits in BatteryInfo.flags                                     
  112. ;  ("chargerConnected" doesn't mean the charger is plugged in)    
  113.  
  114. batteryInstalled                EQU        7                    ; 1=battery is currently connected                    
  115. batteryCharging                    EQU        6                    ; 1=battery is being charged                        
  116. chargerConnected                EQU        5                    ; 1=charger is connected to the PowerBook            
  117.  
  118. HDPwrQType                        EQU        $4844                ; 'HD' hard disk spindown queue element type        
  119. PMgrStateQType                    EQU        $504D                ; 'PM' Power Manager state queue element type        
  120. ;  client notification bits in PMgrQueueElement.pmNotifyBits 
  121.  
  122. pmSleepTimeoutChanged            EQU        0
  123. pmSleepEnableChanged            EQU        1
  124. pmHardDiskTimeoutChanged        EQU        2
  125. pmHardDiskSpindownChanged        EQU        3
  126. pmDimmingTimeoutChanged            EQU        4
  127. pmDimmingEnableChanged            EQU        5
  128. pmDiskModeAddressChanged        EQU        6
  129. pmProcessorCyclingChanged        EQU        7
  130. pmProcessorSpeedChanged            EQU        8
  131. pmWakeupTimerChanged            EQU        9
  132. pmStartupTimerChanged            EQU        10
  133. pmHardDiskPowerRemovedbyUser    EQU        11
  134. pmChargeStatusChanged            EQU        12
  135. ;  System Activity Selectors 
  136.  
  137. OverallAct                        EQU        0                    ; general type of activity                            
  138. UsrActivity                        EQU        1                    ; user specific type of activity                    
  139. NetActivity                        EQU        2                    ; network specific activity                        
  140. HDActivity                        EQU        3                    ; Hard Drive activity                                
  141. ;  Storage Media sleep mode defines 
  142.  
  143. kMediaModeOn                    EQU        0                    ; Media active (Drive spinning and at full power)    
  144. kMediaModeStandBy                EQU        1                    ; Media standby (not implemented)    
  145. kMediaModeSuspend                EQU        2                    ; Media Idle (not implemented)    
  146. kMediaModeOff                    EQU        3                    ; Media Sleep (Drive not spinning and at min power, max recovery time)    
  147.  
  148. kMediaPowerCSCode                EQU        70
  149.  
  150. ;  definitions for HDQueueElement.hdFlags    
  151.  
  152. kHDQueuePostBit                    EQU        0                    ; 1 = call this routine on the second pass        
  153. kHDQueuePostMask                EQU        $01
  154. ActivityInfo            RECORD 0
  155. ActivityType             ds.w    1                ; offset: $0 (0)        ;  Type of activity to be fetched.  Same as UpdateSystemActivity Selectors 
  156. ActivityTime             ds.l    1                ; offset: $2 (2)        ;  Time of last activity (in ticks) of specified type. 
  157. sizeof                     EQU *                    ; size:   $6 (6)
  158.                         ENDR
  159. ;  information returned by GetScaledBatteryInfo 
  160. BatteryInfo                RECORD 0
  161. flags                     ds.b    1                ; offset: $0 (0)        ;  misc flags (see below)                            
  162. warningLevel             ds.b    1                ; offset: $1 (1)        ;  scaled warning level (0-255)                        
  163. reserved                 ds.b    1                ; offset: $2 (2)        ;  reserved for internal use                        
  164. batteryLevel             ds.b    1                ; offset: $3 (3)        ;  scaled battery level (0-255)                        
  165. sizeof                     EQU *                    ; size:   $4 (4)
  166.                         ENDR
  167. ; typedef SInt8                         ModemByte
  168.  
  169. ; typedef SInt8                         BatteryByte
  170.  
  171. ; typedef SInt8                         SoundMixerByte
  172.  
  173. ; typedef long                             PMResultCode
  174.  
  175.  
  176.  
  177. ; typedef SleepQRec *                    SleepQRecPtr
  178.  
  179.  
  180.  
  181.  
  182.  
  183. SleepQRec                RECORD 0
  184. sleepQLink                 ds.l    1                ; offset: $0 (0)        ;  pointer to next queue element                
  185. sleepQType                 ds.w    1                ; offset: $4 (4)        ;  queue element type (must be SleepQType)        
  186. sleepQProc                 ds.l    1                ; offset: $6 (6)        ;  pointer to sleep universal proc ptr            
  187. sleepQFlags                 ds.w    1                ; offset: $A (10)        ;  flags                                        
  188. sizeof                     EQU *                    ; size:   $C (12)
  189.                         ENDR
  190. HDQueueElement            RECORD 0
  191. hdQLink                     ds.l    1                ; offset: $0 (0)        ;  pointer to next queue element                
  192. hdQType                     ds.w    1                ; offset: $4 (4)        ;  queue element type (must be HDPwrQType)        
  193. hdFlags                     ds.w    1                ; offset: $6 (6)        ;  miscellaneous flags                            
  194. hdProc                     ds.l    1                ; offset: $8 (8)        ;  pointer to routine to call                    
  195. hdUser                     ds.l    1                ; offset: $C (12)        ;  user-defined (variable storage, etc.)        
  196. sizeof                     EQU *                    ; size:   $10 (16)
  197.                         ENDR
  198. PMgrQueueElement        RECORD 0
  199. pmQLink                     ds.l    1                ; offset: $0 (0)        ;  pointer to next queue element                
  200. pmQType                     ds.w    1                ; offset: $4 (4)        ;  queue element type (must be PMgrStateQType)    
  201. pmFlags                     ds.w    1                ; offset: $6 (6)        ;  miscellaneous flags                            
  202. pmNotifyBits             ds.l    1                ; offset: $8 (8)        ;  bitmap of which changes to be notified for    
  203. pmProc                     ds.l    1                ; offset: $C (12)        ;  pointer to routine to call                    
  204. pmUser                     ds.l    1                ; offset: $10 (16)        ;  user-defined (variable storage, etc.)        
  205. sizeof                     EQU *                    ; size:   $14 (20)
  206.                         ENDR
  207.  
  208. BatteryTimeRec            RECORD 0
  209. expectedBatteryTime         ds.l    1                ; offset: $0 (0)        ;  estimated battery time remaining (seconds)    
  210. minimumBatteryTime         ds.l    1                ; offset: $4 (4)        ;  minimum battery time remaining (seconds)        
  211. maximumBatteryTime         ds.l    1                ; offset: $8 (8)        ;  maximum battery time remaining (seconds)        
  212. timeUntilCharged         ds.l    1                ; offset: $C (12)        ;  time until battery is fully charged (seconds)
  213. sizeof                     EQU *                    ; size:   $10 (16)
  214.                         ENDR
  215.  
  216. WakeupTime                RECORD 0
  217. wakeTime                 ds.l    1                ; offset: $0 (0)        ;  wakeup time (same format as current time)        
  218. wakeEnabled                 ds.b    1                ; offset: $4 (4)        ;  1=enable wakeup timer, 0=disable wakeup timer    
  219. filler                     ds.b    1                ; offset: $5 (5)
  220. sizeof                     EQU *                    ; size:   $6 (6)
  221.                         ENDR
  222.  
  223. StartupTime                RECORD 0
  224. startTime                 ds.l    1                ; offset: $0 (0)        ;  startup time (same format as current time)        
  225. startEnabled             ds.b    1                ; offset: $4 (4)        ;  1=enable startup timer, 0=disable startup timer    
  226. filler                     ds.b    1                ; offset: $5 (5)
  227. sizeof                     EQU *                    ; size:   $6 (6)
  228.                         ENDR
  229. ;
  230. ; pascal OSErr DisableWUTime(void )
  231. ;
  232.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  233.         IMPORT_CFM_FUNCTION DisableWUTime
  234.     ENDIF
  235.  
  236. ;
  237. ; pascal OSErr SetWUTime(long WUTime)
  238. ;
  239.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  240.         IMPORT_CFM_FUNCTION SetWUTime
  241.     ENDIF
  242.  
  243. ;
  244. ; pascal OSErr GetWUTime(long *WUTime, Byte *WUFlag)
  245. ;
  246.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  247.         IMPORT_CFM_FUNCTION GetWUTime
  248.     ENDIF
  249.  
  250. ;
  251. ; pascal OSErr BatteryStatus(Byte *Status, Byte *Power)
  252. ;
  253.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  254.         IMPORT_CFM_FUNCTION BatteryStatus
  255.     ENDIF
  256.  
  257. ;
  258. ; pascal OSErr ModemStatus(Byte *Status)
  259. ;
  260.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  261.         IMPORT_CFM_FUNCTION ModemStatus
  262.     ENDIF
  263.  
  264. ;
  265. ; pascal long IdleUpdate(void )
  266. ;
  267.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  268.         ; returns:
  269.         ;    long            <= D0
  270.         _IdleUpdate:    OPWORD    $A285
  271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  272.         IMPORT_CFM_FUNCTION IdleUpdate
  273.     ENDIF
  274.  
  275. ;
  276. ; pascal long GetCPUSpeed(void )
  277. ;
  278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  279.         ; returns:
  280.         ;    long            <= D0
  281.         Macro
  282.         _GetCPUSpeed
  283.             moveq               #-1,D0
  284.             dc.w                $A485
  285.         EndM
  286.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  287.         IMPORT_CFM_FUNCTION GetCPUSpeed
  288.     ENDIF
  289.  
  290. ;
  291. ; pascal void EnableIdle(void )
  292. ;
  293.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  294.         Macro
  295.         _EnableIdle
  296.             moveq               #0,D0
  297.             dc.w                $A485
  298.         EndM
  299.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  300.         IMPORT_CFM_FUNCTION EnableIdle
  301.     ENDIF
  302.  
  303. ;
  304. ; pascal void DisableIdle(void )
  305. ;
  306.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  307.         Macro
  308.         _DisableIdle
  309.             moveq               #1,D0
  310.             dc.w                $A485
  311.         EndM
  312.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  313.         IMPORT_CFM_FUNCTION DisableIdle
  314.     ENDIF
  315.  
  316. ;
  317. ; pascal void SleepQInstall(SleepQRecPtr qRecPtr)
  318. ;
  319.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  320.         ; parameters:
  321.         ;    qRecPtr         => A0
  322.         _SleepQInstall:    OPWORD    $A28A
  323.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  324.         IMPORT_CFM_FUNCTION SleepQInstall
  325.     ENDIF
  326.  
  327. ;
  328. ; pascal void SleepQRemove(SleepQRecPtr qRecPtr)
  329. ;
  330.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  331.         ; parameters:
  332.         ;    qRecPtr         => A0
  333.         _SleepQRemove:    OPWORD    $A48A
  334.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  335.         IMPORT_CFM_FUNCTION SleepQRemove
  336.     ENDIF
  337.  
  338. ;
  339. ; pascal void AOn(void )
  340. ;
  341.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  342.         Macro
  343.         _AOn
  344.             moveq               #4,D0
  345.             dc.w                $A685
  346.         EndM
  347.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  348.         IMPORT_CFM_FUNCTION AOn
  349.     ENDIF
  350.  
  351. ;
  352. ; pascal void AOnIgnoreModem(void )
  353. ;
  354.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  355.         Macro
  356.         _AOnIgnoreModem
  357.             moveq               #5,D0
  358.             dc.w                $A685
  359.         EndM
  360.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  361.         IMPORT_CFM_FUNCTION AOnIgnoreModem
  362.     ENDIF
  363.  
  364. ;
  365. ; pascal void BOn(void )
  366. ;
  367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  368.         Macro
  369.         _BOn
  370.             moveq               #0,D0
  371.             dc.w                $A685
  372.         EndM
  373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  374.         IMPORT_CFM_FUNCTION BOn
  375.     ENDIF
  376.  
  377. ;
  378. ; pascal void AOff(void )
  379. ;
  380.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  381.         Macro
  382.         _AOff
  383.             moveq               #-124,D0
  384.             dc.w                $A685
  385.         EndM
  386.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  387.         IMPORT_CFM_FUNCTION AOff
  388.     ENDIF
  389.  
  390. ;
  391. ; pascal void BOff(void )
  392. ;
  393.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  394.         Macro
  395.         _BOff
  396.             moveq               #-128,D0
  397.             dc.w                $A685
  398.         EndM
  399.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  400.         IMPORT_CFM_FUNCTION BOff
  401.     ENDIF
  402.  
  403.  
  404. ;  Public Power Management API (NEW!) 
  405.  
  406. ;
  407. ; pascal short PMSelectorCount(void )
  408. ;
  409.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  410.         ; returns:
  411.         ;    short           <= D0
  412.         Macro
  413.         _PMSelectorCount
  414.             moveq               #0,D0
  415.             dc.w                $A09E
  416.         EndM
  417.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  418.         IMPORT_CFM_FUNCTION PMSelectorCount
  419.     ENDIF
  420.  
  421. ;
  422. ; pascal unsigned long PMFeatures(void )
  423. ;
  424.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  425.         ; returns:
  426.         ;    unsigned long   <= D0
  427.         Macro
  428.         _PMFeatures
  429.             moveq               #1,D0
  430.             dc.w                $A09E
  431.         EndM
  432.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  433.         IMPORT_CFM_FUNCTION PMFeatures
  434.     ENDIF
  435.  
  436. ;
  437. ; pascal UInt8 GetSleepTimeout(void )
  438. ;
  439.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  440.         ; returns:
  441.         ;    UInt8           <= D0
  442.         Macro
  443.         _GetSleepTimeout
  444.             moveq               #2,D0
  445.             dc.w                $A09E
  446.         EndM
  447.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  448.         IMPORT_CFM_FUNCTION GetSleepTimeout
  449.     ENDIF
  450.  
  451. ;
  452. ; pascal void SetSleepTimeout(UInt8 timeout)
  453. ;
  454.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  455.         ; parameters:
  456.         ;    timeout         => D0
  457.         Macro
  458.         _SetSleepTimeout
  459.             swap                D0
  460.             move.w              #$0003,D0
  461.             dc.w                $A09E
  462.         EndM
  463.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  464.         IMPORT_CFM_FUNCTION SetSleepTimeout
  465.     ENDIF
  466.  
  467. ;
  468. ; pascal UInt8 GetHardDiskTimeout(void )
  469. ;
  470.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  471.         ; returns:
  472.         ;    UInt8           <= D0
  473.         Macro
  474.         _GetHardDiskTimeout
  475.             moveq               #4,D0
  476.             dc.w                $A09E
  477.         EndM
  478.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  479.         IMPORT_CFM_FUNCTION GetHardDiskTimeout
  480.     ENDIF
  481.  
  482. ;
  483. ; pascal void SetHardDiskTimeout(UInt8 timeout)
  484. ;
  485.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  486.         ; parameters:
  487.         ;    timeout         => D0
  488.         Macro
  489.         _SetHardDiskTimeout
  490.             swap                D0
  491.             move.w              #$0005,D0
  492.             dc.w                $A09E
  493.         EndM
  494.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  495.         IMPORT_CFM_FUNCTION SetHardDiskTimeout
  496.     ENDIF
  497.  
  498. ;
  499. ; pascal Boolean HardDiskPowered(void )
  500. ;
  501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  502.         ; returns:
  503.         ;    Boolean         <= D0
  504.         Macro
  505.         _HardDiskPowered
  506.             moveq               #6,D0
  507.             dc.w                $A09E
  508.         EndM
  509.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  510.         IMPORT_CFM_FUNCTION HardDiskPowered
  511.     ENDIF
  512.  
  513. ;
  514. ; pascal void SpinDownHardDisk(void )
  515. ;
  516.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  517.         Macro
  518.         _SpinDownHardDisk
  519.             moveq               #7,D0
  520.             dc.w                $A09E
  521.         EndM
  522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  523.         IMPORT_CFM_FUNCTION SpinDownHardDisk
  524.     ENDIF
  525.  
  526. ;
  527. ; pascal Boolean IsSpindownDisabled(void )
  528. ;
  529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  530.         ; returns:
  531.         ;    Boolean         <= D0
  532.         Macro
  533.         _IsSpindownDisabled
  534.             moveq               #8,D0
  535.             dc.w                $A09E
  536.         EndM
  537.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  538.         IMPORT_CFM_FUNCTION IsSpindownDisabled
  539.     ENDIF
  540.  
  541. ;
  542. ; pascal void SetSpindownDisable(Boolean setDisable)
  543. ;
  544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  545.         ; parameters:
  546.         ;    setDisable      => D0
  547.         Macro
  548.         _SetSpindownDisable
  549.             swap                D0
  550.             move.w              #$0009,D0
  551.             dc.w                $A09E
  552.         EndM
  553.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  554.         IMPORT_CFM_FUNCTION SetSpindownDisable
  555.     ENDIF
  556.  
  557. ;
  558. ; pascal OSErr HardDiskQInstall(HDQueueElement *theElement)
  559. ;
  560.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  561.         ; parameters:
  562.         ;    theElement      => A0
  563.         ; returns:
  564.         ;    OSErr           <= D0
  565.         Macro
  566.         _HardDiskQInstall
  567.             moveq               #10,D0
  568.             dc.w                $A09E
  569.         EndM
  570.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  571.         IMPORT_CFM_FUNCTION HardDiskQInstall
  572.     ENDIF
  573.  
  574. ;
  575. ; pascal OSErr HardDiskQRemove(HDQueueElement *theElement)
  576. ;
  577.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  578.         ; parameters:
  579.         ;    theElement      => A0
  580.         ; returns:
  581.         ;    OSErr           <= D0
  582.         Macro
  583.         _HardDiskQRemove
  584.             moveq               #11,D0
  585.             dc.w                $A09E
  586.         EndM
  587.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  588.         IMPORT_CFM_FUNCTION HardDiskQRemove
  589.     ENDIF
  590.  
  591. ;
  592. ; pascal void GetScaledBatteryInfo(short whichBattery, BatteryInfo *theInfo)
  593. ;
  594.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  595.         ; parameters:
  596.         ;    whichBatterytheInfo=> D0
  597.         ;    theInfo         => A0
  598.         Macro
  599.         _GetScaledBatteryInfo
  600.             swap                D0
  601.             move.w              #$000C,D0
  602.             dc.w                $A09E
  603.             move.l              D0,(A0)
  604.         EndM
  605.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  606.         IMPORT_CFM_FUNCTION GetScaledBatteryInfo
  607.     ENDIF
  608.  
  609. ;
  610. ; pascal void AutoSleepControl(Boolean enableSleep)
  611. ;
  612.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  613.         ; parameters:
  614.         ;    enableSleep     => D0
  615.         Macro
  616.         _AutoSleepControl
  617.             swap                D0
  618.             move.w              #$000D,D0
  619.             dc.w                $A09E
  620.         EndM
  621.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  622.         IMPORT_CFM_FUNCTION AutoSleepControl
  623.     ENDIF
  624.  
  625. ;
  626. ; pascal unsigned long GetIntModemInfo(void )
  627. ;
  628.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  629.         ; returns:
  630.         ;    unsigned long   <= D0
  631.         Macro
  632.         _GetIntModemInfo
  633.             moveq               #14,D0
  634.             dc.w                $A09E
  635.         EndM
  636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  637.         IMPORT_CFM_FUNCTION GetIntModemInfo
  638.     ENDIF
  639.  
  640. ;
  641. ; pascal void SetIntModemState(short theState)
  642. ;
  643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  644.         ; parameters:
  645.         ;    theState        => D0
  646.         Macro
  647.         _SetIntModemState
  648.             swap                D0
  649.             move.w              #$000F,D0
  650.             dc.w                $A09E
  651.         EndM
  652.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  653.         IMPORT_CFM_FUNCTION SetIntModemState
  654.     ENDIF
  655.  
  656. ;
  657. ; pascal short MaximumProcessorSpeed(void )
  658. ;
  659.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  660.         ; returns:
  661.         ;    short           <= D0
  662.         Macro
  663.         _MaximumProcessorSpeed
  664.             moveq               #16,D0
  665.             dc.w                $A09E
  666.         EndM
  667.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  668.         IMPORT_CFM_FUNCTION MaximumProcessorSpeed
  669.     ENDIF
  670.  
  671. ;
  672. ; pascal short CurrentProcessorSpeed(void )
  673. ;
  674.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  675.         ; returns:
  676.         ;    short           <= D0
  677.         Macro
  678.         _CurrentProcessorSpeed
  679.             moveq               #17,D0
  680.             dc.w                $A09E
  681.         EndM
  682.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  683.         IMPORT_CFM_FUNCTION CurrentProcessorSpeed
  684.     ENDIF
  685.  
  686. ;
  687. ; pascal Boolean FullProcessorSpeed(void )
  688. ;
  689.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  690.         ; returns:
  691.         ;    Boolean         <= D0
  692.         Macro
  693.         _FullProcessorSpeed
  694.             moveq               #18,D0
  695.             dc.w                $A09E
  696.         EndM
  697.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  698.         IMPORT_CFM_FUNCTION FullProcessorSpeed
  699.     ENDIF
  700.  
  701. ;
  702. ; pascal Boolean SetProcessorSpeed(Boolean fullSpeed)
  703. ;
  704.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  705.         ; parameters:
  706.         ;    fullSpeed       => D0
  707.         ; returns:
  708.         ;    Boolean         <= D0
  709.         Macro
  710.         _SetProcessorSpeed
  711.             swap                D0
  712.             move.w              #$0013,D0
  713.             dc.w                $A09E
  714.         EndM
  715.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  716.         IMPORT_CFM_FUNCTION SetProcessorSpeed
  717.     ENDIF
  718.  
  719. ;
  720. ; pascal short GetSCSIDiskModeAddress(void )
  721. ;
  722.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  723.         ; returns:
  724.         ;    short           <= D0
  725.         Macro
  726.         _GetSCSIDiskModeAddress
  727.             moveq               #20,D0
  728.             dc.w                $A09E
  729.         EndM
  730.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  731.         IMPORT_CFM_FUNCTION GetSCSIDiskModeAddress
  732.     ENDIF
  733.  
  734. ;
  735. ; pascal void SetSCSIDiskModeAddress(short scsiAddress)
  736. ;
  737.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  738.         ; parameters:
  739.         ;    scsiAddress     => D0
  740.         Macro
  741.         _SetSCSIDiskModeAddress
  742.             swap                D0
  743.             move.w              #$0015,D0
  744.             dc.w                $A09E
  745.         EndM
  746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  747.         IMPORT_CFM_FUNCTION SetSCSIDiskModeAddress
  748.     ENDIF
  749.  
  750. ;
  751. ; pascal void GetWakeupTimer(WakeupTime *theTime)
  752. ;
  753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  754.         ; parameters:
  755.         ;    theTime         => A0
  756.         Macro
  757.         _GetWakeupTimer
  758.             moveq               #22,D0
  759.             dc.w                $A09E
  760.         EndM
  761.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  762.         IMPORT_CFM_FUNCTION GetWakeupTimer
  763.     ENDIF
  764.  
  765. ;
  766. ; pascal void SetWakeupTimer(WakeupTime *theTime)
  767. ;
  768.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  769.         ; parameters:
  770.         ;    theTime         => A0
  771.         Macro
  772.         _SetWakeupTimer
  773.             moveq               #23,D0
  774.             dc.w                $A09E
  775.         EndM
  776.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  777.         IMPORT_CFM_FUNCTION SetWakeupTimer
  778.     ENDIF
  779.  
  780. ;
  781. ; pascal Boolean IsProcessorCyclingEnabled(void )
  782. ;
  783.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  784.         ; returns:
  785.         ;    Boolean         <= D0
  786.         Macro
  787.         _IsProcessorCyclingEnabled
  788.             moveq               #24,D0
  789.             dc.w                $A09E
  790.         EndM
  791.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  792.         IMPORT_CFM_FUNCTION IsProcessorCyclingEnabled
  793.     ENDIF
  794.  
  795. ;
  796. ; pascal void EnableProcessorCycling(Boolean enable)
  797. ;
  798.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  799.         ; parameters:
  800.         ;    enable          => D0
  801.         Macro
  802.         _EnableProcessorCycling
  803.             swap                D0
  804.             move.w              #$0019,D0
  805.             dc.w                $A09E
  806.         EndM
  807.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  808.         IMPORT_CFM_FUNCTION EnableProcessorCycling
  809.     ENDIF
  810.  
  811. ;
  812. ; pascal short BatteryCount(void )
  813. ;
  814.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  815.         ; returns:
  816.         ;    short           <= D0
  817.         Macro
  818.         _BatteryCount
  819.             moveq               #26,D0
  820.             dc.w                $A09E
  821.         EndM
  822.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  823.         IMPORT_CFM_FUNCTION BatteryCount
  824.     ENDIF
  825.  
  826. ;
  827. ; pascal Fixed GetBatteryVoltage(short whichBattery)
  828. ;
  829.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  830.         ; parameters:
  831.         ;    whichBattery    => D0
  832.         ; returns:
  833.         ;    Fixed           <= D0
  834.         Macro
  835.         _GetBatteryVoltage
  836.             swap                D0
  837.             move.w              #$001B,D0
  838.             dc.w                $A09E
  839.         EndM
  840.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  841.         IMPORT_CFM_FUNCTION GetBatteryVoltage
  842.     ENDIF
  843.  
  844. ;
  845. ; pascal void GetBatteryTimes(short whichBattery, BatteryTimeRec *theTimes)
  846. ;
  847.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  848.         ; parameters:
  849.         ;    whichBatterytheTimes=> D0
  850.         ;    theTimes        => A0
  851.         Macro
  852.         _GetBatteryTimes
  853.             swap                D0
  854.             move.w              #$001C,D0
  855.             dc.w                $A09E
  856.         EndM
  857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  858.         IMPORT_CFM_FUNCTION GetBatteryTimes
  859.     ENDIF
  860.  
  861. ;
  862. ; pascal UInt8 GetDimmingTimeout(void )
  863. ;
  864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  865.         ; returns:
  866.         ;    UInt8           <= D0
  867.         Macro
  868.         _GetDimmingTimeout
  869.             moveq               #29,D0
  870.             dc.w                $A09E
  871.         EndM
  872.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  873.         IMPORT_CFM_FUNCTION GetDimmingTimeout
  874.     ENDIF
  875.  
  876. ;
  877. ; pascal void SetDimmingTimeout(UInt8 timeout)
  878. ;
  879.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  880.         ; parameters:
  881.         ;    timeout         => D0
  882.         Macro
  883.         _SetDimmingTimeout
  884.             swap                D0
  885.             move.w              #$001E,D0
  886.             dc.w                $A09E
  887.         EndM
  888.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  889.         IMPORT_CFM_FUNCTION SetDimmingTimeout
  890.     ENDIF
  891.  
  892. ;
  893. ; pascal void DimmingControl(Boolean enableSleep)
  894. ;
  895.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  896.         ; parameters:
  897.         ;    enableSleep     => D0
  898.         Macro
  899.         _DimmingControl
  900.             swap                D0
  901.             move.w              #$001F,D0
  902.             dc.w                $A09E
  903.         EndM
  904.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  905.         IMPORT_CFM_FUNCTION DimmingControl
  906.     ENDIF
  907.  
  908. ;
  909. ; pascal Boolean IsDimmingControlDisabled(void )
  910. ;
  911.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  912.         ; returns:
  913.         ;    Boolean         <= D0
  914.         Macro
  915.         _IsDimmingControlDisabled
  916.             moveq               #32,D0
  917.             dc.w                $A09E
  918.         EndM
  919.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  920.         IMPORT_CFM_FUNCTION IsDimmingControlDisabled
  921.     ENDIF
  922.  
  923. ;
  924. ; pascal Boolean IsAutoSlpControlDisabled(void )
  925. ;
  926.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  927.         ; returns:
  928.         ;    Boolean         <= D0
  929.         Macro
  930.         _IsAutoSlpControlDisabled
  931.             moveq               #33,D0
  932.             dc.w                $A09E
  933.         EndM
  934.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  935.         IMPORT_CFM_FUNCTION IsAutoSlpControlDisabled
  936.     ENDIF
  937.  
  938. ;
  939. ; pascal OSErr PMgrStateQInstall(PMgrQueueElement *theElement)
  940. ;
  941.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  942.         ; parameters:
  943.         ;    theElement      => A0
  944.         ; returns:
  945.         ;    OSErr           <= D0
  946.         Macro
  947.         _PMgrStateQInstall
  948.             moveq               #34,D0
  949.             dc.w                $A09E
  950.         EndM
  951.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  952.         IMPORT_CFM_FUNCTION PMgrStateQInstall
  953.     ENDIF
  954.  
  955. ;
  956. ; pascal OSErr PMgrStateQRemove(PMgrQueueElement *theElement)
  957. ;
  958.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  959.         ; parameters:
  960.         ;    theElement      => A0
  961.         ; returns:
  962.         ;    OSErr           <= D0
  963.         Macro
  964.         _PMgrStateQRemove
  965.             moveq               #35,D0
  966.             dc.w                $A09E
  967.         EndM
  968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  969.         IMPORT_CFM_FUNCTION PMgrStateQRemove
  970.     ENDIF
  971.  
  972. ;
  973. ; pascal OSErr UpdateSystemActivity(UInt8 activity)
  974. ;
  975.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  976.         ; parameters:
  977.         ;    activity        => D0
  978.         ; returns:
  979.         ;    OSErr           <= D0
  980.         Macro
  981.         _UpdateSystemActivity
  982.             swap                D0
  983.             move.w              #$0024,D0
  984.             dc.w                $A09E
  985.         EndM
  986.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  987.         IMPORT_CFM_FUNCTION UpdateSystemActivity
  988.     ENDIF
  989.  
  990. ;
  991. ; pascal OSErr DelaySystemIdle(void )
  992. ;
  993.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  994.         ; returns:
  995.         ;    OSErr           <= D0
  996.         Macro
  997.         _DelaySystemIdle
  998.             moveq               #37,D0
  999.             dc.w                $A09E
  1000.         EndM
  1001.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1002.         IMPORT_CFM_FUNCTION DelaySystemIdle
  1003.     ENDIF
  1004.  
  1005. ;
  1006. ; pascal OSErr GetStartupTimer(StartupTime *theTime)
  1007. ;
  1008.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1009.         ; parameters:
  1010.         ;    theTime         => A0
  1011.         ; returns:
  1012.         ;    OSErr           <= D0
  1013.         Macro
  1014.         _GetStartupTimer
  1015.             moveq               #38,D0
  1016.             dc.w                $A09E
  1017.         EndM
  1018.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1019.         IMPORT_CFM_FUNCTION GetStartupTimer
  1020.     ENDIF
  1021.  
  1022. ;
  1023. ; pascal OSErr SetStartupTimer(StartupTime *theTime)
  1024. ;
  1025.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1026.         ; parameters:
  1027.         ;    theTime         => A0
  1028.         ; returns:
  1029.         ;    OSErr           <= D0
  1030.         Macro
  1031.         _SetStartupTimer
  1032.             moveq               #39,D0
  1033.             dc.w                $A09E
  1034.         EndM
  1035.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1036.         IMPORT_CFM_FUNCTION SetStartupTimer
  1037.     ENDIF
  1038.  
  1039. ;
  1040. ; pascal OSErr GetLastActivity(ActivityInfo *theActivity)
  1041. ;
  1042.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1043.         ; parameters:
  1044.         ;    theActivity     => A0
  1045.         ; returns:
  1046.         ;    OSErr           <= D0
  1047.         Macro
  1048.         _GetLastActivity
  1049.             moveq               #40,D0
  1050.             dc.w                $A09E
  1051.         EndM
  1052.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1053.         IMPORT_CFM_FUNCTION GetLastActivity
  1054.     ENDIF
  1055.  
  1056. ;
  1057. ; pascal OSErr GetSoundMixerState(SoundMixerByte *theSoundMixerByte)
  1058. ;
  1059.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1060.         ; parameters:
  1061.         ;    theSoundMixerByte=> A0
  1062.         ; returns:
  1063.         ;    OSErr           <= D0
  1064.         Macro
  1065.         _GetSoundMixerState
  1066.             moveq               #41,D0
  1067.             dc.w                $A09E
  1068.         EndM
  1069.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1070.         IMPORT_CFM_FUNCTION GetSoundMixerState
  1071.     ENDIF
  1072.  
  1073. ;
  1074. ; pascal OSErr SetSoundMixerState(SoundMixerByte *theSoundMixerByte)
  1075. ;
  1076.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1077.         ; parameters:
  1078.         ;    theSoundMixerByte=> A0
  1079.         ; returns:
  1080.         ;    OSErr           <= D0
  1081.         Macro
  1082.         _SetSoundMixerState
  1083.             moveq               #42,D0
  1084.             dc.w                $A09E
  1085.         EndM
  1086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1087.         IMPORT_CFM_FUNCTION SetSoundMixerState
  1088.     ENDIF
  1089.  
  1090. ;
  1091. ; pascal Boolean GetDimSuspendState(void )
  1092. ;
  1093.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1094.         ; returns:
  1095.         ;    Boolean         <= D0
  1096.         Macro
  1097.         _GetDimSuspendState
  1098.             moveq               #43,D0
  1099.             dc.w                $A09E
  1100.         EndM
  1101.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1102.         IMPORT_CFM_FUNCTION GetDimSuspendState
  1103.     ENDIF
  1104.  
  1105. ;
  1106. ; pascal void SetDimSuspendState(Boolean dimSuspendState)
  1107. ;
  1108.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1109.         ; parameters:
  1110.         ;    dimSuspendState => D0
  1111.         Macro
  1112.         _SetDimSuspendState
  1113.             swap                D0
  1114.             move.w              #$002C,D0
  1115.             dc.w                $A09E
  1116.         EndM
  1117.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1118.         IMPORT_CFM_FUNCTION SetDimSuspendState
  1119.     ENDIF
  1120.  
  1121.  
  1122.     ENDIF ; __POWER__ 
  1123.  
  1124.